<?php

/**
 * @package   auto_occasion
 * @subpackage 
 * @author    CMS
 * @copyright 2011
 * @license    All rights reserved
 **/

class annoncePaiementSrv {

    /**
    * Liste des type de paiement d'une annonce
    */
    public function liste(){
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_annonce_paiement");

        $records = $maFactory->findAll();

        return $records->fetchAll();
    }
    /**
    * recupération de tarif 
    */
    public function getTarif($id){
       
        $query  = "SELECT prix FROM ao_formule  WHERE id =".$id;

        $cnx    = jDb::getConnection();
        $rs     = $cnx->query($query);
        $res    = $rs->fetchAll();
        foreach ($res as $val) {
            $id = $val->prix;
        }
        return $id;
     }

    /**
    * recupération de l'email de vendeur
    */
    public function getVendeur($idOccasion){
       
        $query  = "SELECT Vendeur_Email FROM ao_voiture_occasion
                   INNER JOIN ao_vendeur ON Occas_Vendeur = IdVendeur
                   WHERE IdOccasion =".$idOccasion;
        $cnx    = jDb::getConnection();
        $rs     = $cnx->query($query);
        $res    = $rs->fetchAll();
        foreach ($res as $val) {
            $email = $val->Vendeur_Email;
        }
        return $email;
     }

    /**
    * Fonction pour mettre à jour le paiement
    **/
     public function majPaiement($idOccasion,$tarif){
        $query = "UPDATE ao_voiture_occasion
                SET Occas_Estpaye = '1', Occas_Montantpaye ='".$tarif."', Occas_Estsaisie = '1'
                WHERE IdOccasion =".$idOccasion;
         $cnx = jDb::getConnection();
         $cnx->exec($query);
     }   


    /**
    * Fonction pour récupérer le message d'erreur dü au paiement
    **/
    public function getErrorMessage($code){

        switch ($code) {
            case -1 : $ret = 'erreur de lecture des paramètres via stdin (méthode POST) (erreur réception http).';break;
            case -2 : $ret = 'erreur d„allocation mémoire. Pas assez de mémoire disponible sur le serveur commerce.';break;
            case -3 : $ret = 'erreur de lecture des paramètres QUERY_STRING ou CONTENT_LENGTH. (erreur http).';break;
            case -4 : $ret = 'PBX_RETOUR, PBX_ANNULE, PBX_REFUSE ou PBX_EFFECTUE sont trop longs (<150 caractères).';break;
            case -5 : $ret = 'erreur ouverture de fichier (si PBX_MODE contient 3) : fichier local inexistant, non trouvé ou erreur d‟accès.';break;
            case -6 : $ret = 'erreur de format du fichier (si PBX_MODE contient 3) : fichier local mal formé, vide ou ligne mal formatée.';break;
            case -7 : $ret = 'Il manque une variable obligatoire (PBX_SITE, PBX_RANG, PBX_IDENTIFIANT, PBX_TOTAL, PBX_CMD, …).';break;
            case -8 : $ret = 'une des variables numériques contient un caractère non numérique (site, rang, identifiant, montant, devise…)';break;
            case -9 : $ret = 'PBX_SITE contient un numéro de site qui ne fait pas exactement 7 caractères.';break;
            case -10 : $ret = 'PBX_RANG contient un numéro de rang qui ne fait pas exactement 2 caractères.';break;
            case -11 : $ret = 'PBX_TOTAL fait plus de 10 ou moins de 3 caractères numériques.';break;
            case -12 : $ret = 'PBX_LANGUE ou PBX_DEVISE contient un code que ne fait pas exactement 3 caractères.';break;
            case -13 : $ret = 'PBX_CMD est vide ou contient une référence dont la longueur dépasse 250 caractères.';break;
            case -14 : $ret = 'Non utilisé';break;
            case -15 : $ret = 'Non utilisé';break;
            case -16 : $ret = 'PBX_PORTEUR ne contient pas une adresse e-mail valide.';break;
            case -17 : $ret = 'Erreur de cohérence (multi-paniers) : Réservé Usage Futur';break;
            case -18 : $ret = 'Détection de la présence d‟une faille XSS';break;
            case -20 : $ret = 'Nombre erroné de cartes cadeaux annoncées (1 à 3). cf. documentation spécifique d‟intégration sur les paiements mixtes';break;
            case -21 : $ret = 'Valeur présente dans une variable > à la taille maximale';break;
            default : $ret = " ERREUR ";
        }

        return $ret;
    }   

}
